package com.example.myapplication.utils;

import android.content.Context;
import android.content.SharedPreferences;

import com.example.myapplication.MyConstant;

public class SpUtils {
    private static final String CACHE_FILE_NAME= MyConstant.SAVE_SP_DATE_NAME;//缓存类文件名，全局常量
    private static SharedPreferences sp;
    /*
     * 缓存工具类：用SharedPreferences存取数据
     * */

    //1.putBoolean存值
    public static void putBoolean(Context context, String key, boolean value){
        if(sp==null){
            //获取共享参数
            sp=context.getSharedPreferences(CACHE_FILE_NAME, Context.MODE_PRIVATE);
        }
        //获取编辑器
        SharedPreferences.Editor ed=sp.edit();
        //放布尔值
        ed.putBoolean(key, value);
        //提交数据
        ed.commit();
    }


    //2.getBoolean取值
    public static boolean getBoolean(Context context, String key, boolean defValue){
        if(sp==null){
            //获取共享参数
            sp=context.getSharedPreferences(CACHE_FILE_NAME, Context.MODE_PRIVATE);
        }
        boolean value=sp.getBoolean(key, defValue);
        return value;
    }


    /**
     * 把网络上的服务器数据存储到本地目录
     */
    public static void putString(Context context, String key, String value){
        if(sp==null){
            //new 一个存储对象
            sp=context.getSharedPreferences(CACHE_FILE_NAME, Context.MODE_PRIVATE);
        }
        //获取一个编辑器
        SharedPreferences.Editor edit = sp.edit();
        //存数据
        edit.putString(key, value);
        //提交数据
        edit.commit();
    }

    /**
     * 调用存储到本地的服务器数据
     */
    public static String getString(Context context, String key, String defValue){
        if(sp==null){
            sp=context.getSharedPreferences(CACHE_FILE_NAME, Context.MODE_PRIVATE);
        }
        return sp.getString(key, defValue);
    }

    /**
     * 把网络上的服务器数据存储到本地目录
     */
    public static void putInt(Context context, String key, int value){
        if(sp==null){
            //new 一个存储对象
            sp=context.getSharedPreferences(CACHE_FILE_NAME, Context.MODE_PRIVATE);
        }
        //获取一个编辑器
        SharedPreferences.Editor edit = sp.edit();
        //存数据
        edit.putInt(key, value);
        //提交数据
        edit.commit();
    }

    /**
     * 调用存储到本地的服务器数据
     */
    public static int getInt(Context context, String key, int defValue){
        if(sp==null){
            sp=context.getSharedPreferences(CACHE_FILE_NAME, Context.MODE_PRIVATE);
        }
        return sp.getInt(key, defValue);
    }

}
